重学一下go,用来实现某厂商定位设备私有的udp 2929协议
这个协议相对简单
选型
- go
- Netpoll
居然是字节的 https://www.cloudwego.io/zh/docs/netpoll/getting-started/
- Netpoll和原生socket对比:
- Netpoll 基于epoll实现了类似于java NIO的多路复用模型
- 暂不支持UDP!!!!
- 很尴尬已经按文档写一半了,调试时发现这个库不支持udp,需要改用原生socket!
- Netpoll和原生socket对比:
- gookit/slog
- 日志组件库,支持滚动/zip及多handler输出
- jsoniterator
- https://github.com/json-iterator/go
- 滴滴家的json库
- https://jsoniter.com/index.cn.html
- 可以通过插件来实现key转换
- 我想搞首字母小写,但看了一下naming_strategy插件默认实现是小写加下划线,我们团队没有写下划线习惯
协议
- 协议文档
- 核心解析
实现
备注
- github上找到了一个2015年写的c 语言版本的